Package-level declarations
Types
Link copied to clipboard
Implements a Goal-Oriented Action Planning system using the A* algorithm. A* works by finding the optimal sequence of actions to transform an initial state into a goal state while minimizing total cost. See https://en.wikipedia.org/wiki/A*_search_algorithm
Link copied to clipboard
Conditions may be true, false or unknown
Link copied to clipboard
Link copied to clipboard
Action in a GOAP system.
Link copied to clipboard
Link copied to clipboard
data class GoapPlanningSystem(val actions: Set<GoapAction>, val goals: Set<GoapGoal>) : PlanningSystem
Link copied to clipboard
Link copied to clipboard
Represents the state of the world at any time. World state is just a map. This class exposes operations on the state.
Link copied to clipboard
Abstract class for a Goap planner with common optimization.
Link copied to clipboard
interface WorldStateDeterminer
Determine the world state: the conditions that drive GOAP planning Our conditions can have 3 values: true, false or unknown. Unknown may be genuinely unknown, or it may mean that the condition has been lazily evaluated and needs to be evaluated again.